from django.db import models


# 创建models的类 ---> 自动在django中转换成脚本 --> 去数据库中生成响应的表格
# 新建类的时候，命名规则：单词的首字母大写

# ======  类：院系管理  ========
class Faculty(models.Model):
    # id = models.AutoField(verbose_name="编号", primary_key=True, null=False) # 自动编号
    # 如果在一个类中，没有一个字段自定primary_key=True，会自动加上如上的字段
    name = models.CharField(verbose_name="院系名称", max_length=100, unique=False, null=False) # 名称

    class Meta:
        managed = True  # 是否管理到一个关系数据库的表格
        app_label = "basicweb"
        db_table = "Basic_Faculty"  # 如果在默认情况下没有指定生成到数据库的表名，默认名称：app名称_类的名称  basicweb_faculty
        verbose_name = "Faculty"
        verbose_name_plural = "Faculty"

    def __str__(self):
        return '%s' % (self.name)


# ====== 类：专业管理 =========
class Major(models.Model):
    name = models.CharField(verbose_name='专业名称', max_length=100, unique=False, null=True) # 专业的名称
    faculty = models.ForeignKey(verbose_name="所属院系", to=Faculty, on_delete=models.PROTECT)  # 关联的院系

    class Meta:
        managed = True  # 是否管理到一个关系数据库的表格
        app_label = "basicweb"
        db_table = "Basic_Major"  # 如果在默认情况下没有指定生成到数据库的表名，默认名称：app名称_类的名称  basicweb_major
        verbose_name = "Major"
        verbose_name_plural = "Major"